package cn.sangedon.review.common.domain.analysis;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;

/**
 * 股票统计信息表
 * @TableName tb_stock_stastics
 */
@TableName(value ="tb_stock_stastics")
@Data
public class StockStastics implements Serializable {
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 股票代码
     */
    @TableField(value = "stock_code")
    private String stockCode;

    /**
     * 股票名称
     */
    @TableField(value = "stock_name")
    private String stockName;

    /**
     * 连涨天数
     */
    @TableField(value = "rise_day")
    private Integer riseDay;

    /**
     * 连跌天数
     */
    @TableField(value = "fall_day")
    private Integer fallDay;

    /**
     * 目前为止最高价
     */
    @TableField(value = "max_price")
    private BigDecimal maxPrice;

    /**
     * 目前为止最高价的交易日
     */
    @TableField(value = "max_price_date")
    private String maxPriceDate;

    /**
     * 目前为止最低价
     */
    @TableField(value = "min_price")
    private BigDecimal minPrice;

    /**
     * 目前为止最低价的交易日
     */
    @TableField(value = "min_price_date")
    private String minPriceDate;

    /**
     * 交易日，当前统计信息的最终统计交易日
     */
    @TableField(value = "trade_date")
    private String tradeDate;

    /**
     * 当前交易价格
     */
    @TableField(value = "current_price")
    private BigDecimal currentPrice;

    /**
     * 前一个交易日成交量，单位：手
     */
    @TableField(value = "last_day_trade_vol")
    private BigDecimal lastDayTradeVol;

    /**
     * 连续放量天数
     */
    @TableField(value = "enlarge_volume_day")
    private Integer enlargeVolumeDay;

    /**
     * 连续缩量天数
     */
    @TableField(value = "reduce_volume_day")
    private Integer reduceVolumeDay;

    /**
     * 近三个交易日平均成交量
     */
    @TableField(value = "average_volume_3")
    private Double averageVolume3;

    /**
     * 近五个交易日平均成交量
     */
    @TableField(value = "average_volume_5")
    private Double averageVolume5;

    /**
     * 近十个交易日平均成交量
     */
    @TableField(value = "average_volume_10")
    private Double averageVolume10;

    /**
     * 近三十个交易日平均成交量
     */
    @TableField(value = "average_volume_20")
    private Double averageVolume20;

    /**
     * 最近20个交易日的成交量集合
     * 如：[1, 2, 3, 4]
     * 依次为距今最近一个交易日到距今最远一个交易日
     */
    @TableField(value = "latest_trade_vol_20")
    private String latestTradeVol20;

    /**
     * 最近20个交易日的收盘价集合
     * 依次为距今最近一个交易日到距今最远一个交易日
     */
    @TableField(value = "latest_close_price_20")
    private String latestClosePrice20;

    /**
     * 最近20个交易日的开盘价集合
     * 依次为距今最近一个交易日到距今最远一个交易日
     */
    @TableField(value = "latest_open_price_20")
    private String latestOpenPrice20;
}